home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 2000 February / Macworld (2000-02).dmg / Shareware World / Comms & Internet / Flex-Able 1.0 / .admin / pass.able < prev    next >
Text File  |  1999-08-28  |  2KB  |  112 lines

  1. <html>
  2.     <head>
  3.         <link rel=stylesheet type="text/css" HREF="faadmin.css">
  4.         <title>Flex-Able: Site Administration: Administrator Passwords</title>
  5.     </head>
  6. <body>
  7.  
  8. <DIV CLASS="topic"></DIV>
  9. <p><br>
  10. <p><br>
  11.         
  12. <:set admins <:use_settings "/.admin/pass">>
  13. <:set form <:read_form>>
  14.  
  15. <!--    
  16.     if the admin password area is blank, then create the 
  17.     right kind of object to go there 
  18. -->
  19. <:ifempty admins>
  20.     <:set admins <:new "ASOC">>
  21. <:/ifempty>
  22.  
  23.  
  24. <!-- do authorization -->
  25. <:ifequal <:size_of admins> 0>
  26.     <!-- No administrators configured. -->
  27.     <:set ok 1>
  28. <:else>
  29.     <:require env["REMOTE_USER"]>
  30.         <:ifequal env["REMOTE_PASSWORD"] admins[env["REMOTE_USER"]]>
  31.             <!-- access is OK -->
  32.             <:set ok 1>
  33.         <:else>
  34.             <:set ok 0>
  35.             <:request_credentials "SITE_ADMIN">
  36.         <:/ifequal>
  37.     <:else>
  38.         <:set ok 0>
  39.         <:request_credentials "SITE_ADMIN">
  40.     <:/require>
  41. <:/ifequal>
  42.  
  43.  
  44. <:ifequal ok 1>
  45.  
  46. <!-- 
  47.     Check to see if we have a new administrator to add to the list.
  48. -->
  49. <:require form["$newname"] form["$newpass"]>
  50.     <:set admins[form["$newname"]] form["$newpass"]>
  51. <:/require>
  52.  
  53.  
  54. <!--
  55.     Any passwords that are different, change.
  56. -->
  57. <:foreach user pass form>
  58.     <:ifempty admins[user]>
  59.         <!-- do nothing -->
  60.     <:else>
  61.         <:set admins[user] pass>
  62.     <:/ifempty>
  63. <:/foreach>
  64.  
  65.  
  66. <!--
  67.     Any passwords to be deleted, delete
  68. -->
  69. <:foreach index user form["Delete"]>
  70.     <:set admins[user]>
  71. <:/foreach>
  72.  
  73.  
  74. <!-- save changes -->
  75. <:save_settings "/.admin/pass">
  76.  
  77.  
  78. <!--
  79.     display the current administrator list in a form suitable for editing
  80. -->
  81. <FORM ACTION=pass.able METHOD=POST>
  82.     <TABLE>
  83.         <TR>
  84.             <TH></TH>
  85.             <TH>Username</TH>
  86.             <TH>Password</TH>
  87.             <TH>Delete</TH>
  88.         </TR>
  89.         <:foreach name pass admins>
  90.         <TR>
  91.             <TH></TH>
  92.             <TD><:echo name></TD>
  93.             <TD><input type=password name="<:echo name>" value="<:echo pass>"></TD>
  94.             <TD><input type=checkbox name="Delete" value="<:echo name>">
  95.         </TR><:/foreach>
  96.         <TR>
  97.             <TH>Add... </TH>
  98.             <TD><input type=text name="$newname" value=""></TD>
  99.             <TD><input type=text name="$newpass" value=""></TD>
  100.         </TR>
  101.     </TABLE>
  102.     <input type=submit value="Make Changes">
  103. </FORM>
  104.  
  105. <:else>
  106.  
  107.     <h2>Your password is invalid.  Please try again.</h2>
  108.     
  109. <:/ifequal>
  110. </BODY>
  111. </HTML>
  112.